using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gko.Utils
{
	/// <summary>
	/// Argument to CountExceed event
	/// </summary>
	/// <typeparam name="TValue">The type of the value.</typeparam>
	public class CountExceedEventArgs<TValue> : EventArgs
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="T:Gko.Utils.CountExceedEventArgs`1"/> class.
		/// </summary>
		/// <param name="queue">The queue.</param>
		/// <param name="count">The count.</param>
		public CountExceedEventArgs(LimitedSizeQueue<TValue> queue, int count)
		{
			this.Queue = queue;
			this.Count = count;
		}

		/// <summary>
		/// Gets the queue.
		/// </summary>
		/// <value>The queue.</value>
		public LimitedSizeQueue<TValue> Queue
		{
			get;
			private set;
		}

		/// <summary>
		/// Gets the count.
		/// </summary>
		/// <value>The count.</value>
		public int Count
		{
			get;
			private set;
		}
	}
}